﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Runtime.Serialization;
using System.Collections;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Web.Script.Serialization;


namespace CMD.BAL.SOL
{
    [DataContractAttribute]
    public class SolicitudWeb
    {
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string idSolicitud;
        public static DataTable GetData(string unidSolicitud, string unidRol)
        {
            if (unidSolicitud == null )
            {
                return null;
            }
            else
            {
                
                DataTable dt;
                //ejecutar store
                dt = CMD_WEB.DAL.SrvDB.ExecuteQuery("exec SP_CMD_GET_SOL_WEB'" + unidSolicitud + "','" + unidRol + "'");
            return dt;
            }
         }
        public static DataTable GetDataStatusRol(string unidSolicitud)
        {
            if (unidSolicitud == null)
            {
                return null;
            }
            else
            {

                DataTable dt;
                //ejecutar store
                dt = CMD_WEB.DAL.SrvDB.ExecuteQuery("exec SP_CMD_UPSERT_STATUS_ROL_WEB'" + unidSolicitud + "'");
                return dt;
            }
        }
        public static string GetDataSolicitudWeb(string unidSolicitud, string unidRol)
        {
            string mensaje = "";
            try
            {       
                Dictionary<string, string> parametros = new Dictionary<string, string>();
                DataTable dt = SolicitudWeb.GetData(unidSolicitud,unidRol);
                    //lleno el diccionario(columnas y filas)
                if (dt.Rows.Count == 0)
                {
                    return mensaje = "no hay datos";
                }
                else
                {
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        if (!System.DBNull.Value.Equals(dt.Rows[0][i]))
                            parametros.Add(dt.Columns[i].ColumnName.ToString(), dt.Rows[0][i].ToString());
                    }
                    // convierto el diccionario a json
                    JavaScriptSerializer ms2 = new JavaScriptSerializer();
                    string json2 = ms2.Serialize(parametros);
                    return json2;
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }
        public static string GetDataSolStatusRol(string unidSolicitud)
        {
            string mensaje = "";
            try
            {
                Dictionary<string, string> parametros = new Dictionary<string, string>();
                DataTable dt = SolicitudWeb.GetDataStatusRol(unidSolicitud);
                //lleno el diccionario(columnas y filas)
                if (dt.Rows.Count == 0)
                {
                    return mensaje = "no hay datos";
                }
                else
                {
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        if (!System.DBNull.Value.Equals(dt.Rows[0][i]))
                            parametros.Add(dt.Columns[i].ColumnName.ToString(), dt.Rows[0][i].ToString());
                    }
                    // convierto el diccionario a json
                    JavaScriptSerializer ms2 = new JavaScriptSerializer();
                    string json2 = ms2.Serialize(parametros);
                    return json2;
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public SolicitudWeb() 
        {
            idSolicitud = "";
        }
        public SolicitudWeb( string idSolicitud) 
        {
            this.idSolicitud = idSolicitud;
        }
    }
}
